# -*- coding: utf-8 -*-
# @Time    : 2023/7/10 0010 14:09
# @Author  : zcj
# @File    : send_request.py
# @Software : PyCharm
import allure
from common.debug import log_info
from common.request_0 import HttpRequest
from common.util import change_data, get_resp, assert_response

session = HttpRequest()


def SendRequest(info):
    apiname, url, method, json, header = change_data(info)  # 返回处理后的接口请求数据
    allure.dynamic.story(info['describe'])
    allure.dynamic.title(apiname)  # 测试数据 请求标题
    re = session.request(method, url, json, headers=header, allow_redirects=False)
    # log_info(title=apiname, url=url, method=method, info=info, respond=re,
    #          header=header)  # 打印操作的数据日志  写在下面的话如果提取响应失败会抛出异常 则就不会执行了
    get_resp(re, info['response_extraction'], apiname)  # 提取响应数据 写入extract.yaml文件，如果用例此字段为空的话就不需要提取响应数据
    assert_response(re, info['expected'], apiname)
